<?php
$arr01 = [1, 3, 6, 9, 13, 15, 17, 28, 33, 46, 98];
function binSearch($arr, $search)
{
    if (empty($arr)) {
        return false;
    }
    
    $start = 0;
    $end = count($arr) - 1;  // 修正1：数组最后一个元素索引应该是长度减1
    
    while ($start <= $end) {
        $mid = floor(($start + $end) / 2);  // 修正2：将mid的计算移到循环内部
        
        if ($arr[$mid] == $search) {  // 修正3：将相等判断放在最前面
            return true;
        }
        
        if ($arr[$mid] > $search) {  // 修正4：简化判断逻辑
            $end = $mid - 1;
        } else {
            $start = $mid + 1;
        }
    }
    
    return false;  // 修正5：简化返回逻辑，移除多余的break判断
}
if(binSearch($arr01,33)){
  echo "找到";
}else{
  echo "没有找到";
}